/*
 * Copyright © 2022-now 尛飛俠（Denvie） All rights reserved.
 */

package cn.denvie.springcloud.user.config;

import cn.denvie.springcloud.user.sentinel.MyBlockExceptionHandler;
import com.alibaba.csp.sentinel.slots.block.BlockException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局统一异常处理。
 *
 * @author Denvie
 * @date 2022/4/2
 * @since 1.0.0
 */
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
    @Autowired
    private MyBlockExceptionHandler myBlockExceptionHandler;

    /**
     * 流控异常处理。
     */
    @ExceptionHandler(value = BlockException.class)
    public String blockExceptionHandler(BlockException e) {
        return myBlockExceptionHandler.handlerBlockException(getClass(), e);
    }
}
